
#include "nane/ScriptSystem/ScriptSerializer.h"
#include "nane/core/IO.h"

namespace nane
{
    ////////////////////////////////////////////////////////////////////////////////////////////////
    bool ScriptSerializer::Deserialize( IInput* _input, EScriptValueType* _argType, TScriptValue* _value )
    {
        int32 r = IO<IOSafe>::Read(_input, _argType);
        r += IO<IOSafe>::Read(_input, _value);
        return r == (sizeof(EScriptValueType) + sizeof(TScriptValue));
    }
    ////////////////////////////////////////////////////////////////////////////////////////////////
    bool ScriptSerializer::Serialize( IOutput* _output, EScriptValueType _argType, TScriptValue _value )
    {
        int32 w = IO<IOSafe>::Write(_output, _argType);
        w += IO<IOSafe>::Write(_output, _value);
        return w == (sizeof(EScriptValueType) + sizeof(TScriptValue));
    }
    ////////////////////////////////////////////////////////////////////////////////////////////////
}   // namespace nane
